Tutorial de Reprodutibilidade

Nete Barreto

2025-12-12

Resumo

O pacote reprodutibilidade foi desenvolvido para apoiar as etapas de elaboração dos indicadores da plataforma AdaptaBrasil. Como o processo de criação dos índices e indicadores envolve diversas fases — incluindo validação e análises estatísticas — o pacote oferece funções que facilitam a criação, verificação e divulgação dos resultados de forma rastreável e reprodutível.

Introdução

O fluxograma apresentado ilustra o fluxo de tratamento e preparação dos dados dentro do processo analítico da plataforma AdaptaBrasil. Ele representa a sequência de etapas aplicadas aos dados brutos antes da execução das análises estatísticas e da construção dos indicadores.

Figura 1: Fluxo de tratamento e preparação dos dados brutos, incluindo etapas de verificação, transformação e normalização para garantir consistência e reprodutibilidade estatística.

O processo inicia com a verificação do tipo de variável, diferenciando dados do tipo Score de variáveis numéricas. Para variáveis numéricas, ocorre a identificação de outliers e, se necessário, aplica-se a winsorização, que reduz o impacto de valores extremos sem removê-los. Em seguida, os dados são avaliados quanto à assimetria e curtose, de modo a identificar distorções na distribuição. Quando essas distorções são significativas, utiliza-se a transformação Box-Cox, que corrige desvios de normalidade e estabiliza a variância.

Após o ajuste da distribuição, os dados passam pela normalização, permintido a comparabilidade entre diferentes variáveis e unidades de medida. Por fim, realiza-se a análise de correlação, que permite avaliar as relações entre os indicadores e seguir para as etapas subsequentes de modelagem e composição dos índices.

Esse fluxo propricia reprodutibilidade e consistência estatística dos dados processados, consolidando a qualidade das informações analisadas. Para iniciar, é necessario instalar o pacote disponivel no GitHub, sendo inicialmente desenvolvido em ambiente windows 11.

devtools::install_github("AdaptaBrasil/reprodutibilidade")

Carregando o pacote

require(reprodutibilidade)

Lendo arquivos de entrada

library("reprodutibilidade")

inxlsx <- openxlsx::loadWorkbook(file = "DATASET/Base_inicial_SA_Acesso.xlsx")

Lendo as planilhas do arquivo, nesse caso a planilha metadados, contem as informações sobre os indicadores que serão analisados como:

Enquanto a planilha “Dados_SA_Acesso” contém nas três (3) colunas iniciais as informações de georeferenciamento como: GEOCOD, NOME do Município, Unidade Federativa (UF), em seguida deve conter as colunas referentes aos índices/indicadores descritos na planilha metadados, sendo que o número total de linhas deve ser igual ao numero total de municípios avaliados e o número total de colunas deve ser igual ao numero ao valor máximo encontrado na coluna N dos metadados.
A Figura abaixo ilustra as planilhas usadas no fluxo do pacote — contém exemplos de formatos e campos esperados (georeferenciamento, nome do município, estado, região e cluster). Na planilha Dados_SA_Acesso — as coluna 1–3 são referências, as demais colunas correspondem aos indicadores por município.

Figura 2: Exemplo das planilhas de entrada do pacote reprodutibilidade, planilhas Metadados e Dados_RA_Acesso.

  library("reprodutibilidade")

  resultado <- read_exemplo_xlsx()
## 
##  Arquivo de exemplo 'Base_inicial_SA_Acesso.xlsx' carregado com sucesso!
##  O arquivo foi lido a partir do pacote 'reprodutibilidade'.
##  As planilhas disponiveis sao: 'metadados' e 'dados_SA_Acesso'.
##  Acesse-as com: resultado$metadados ou resultado$dataset
  metadados <- resultado$metadados
  dataset  <- resultado$dataset

  # Recortando apenas os dados do Nivel 7
  metadadosN7 = subset(metadados,metadados$Nivel==7)

  # Selecionando apenas as referencias 
  data_ref = dataset[,c(1:3)]

  # Selecionando todos os dados   
  datasetN7 = round(dataset[,-c(1:3)],2)

  #Atribuindo nome as colunas
  colnames(datasetN7) <- colnames(dataset[,-c(1:3)])

Aplicando as Funções Básicas

Resumo

criar_resumo(dataset, class_type, nome)

Essa função obtem estastitiscas básicas de apenas um único indicador, para executar o cálculo de forma correta, atentar para objeto class_type que se refere a classe do objeto, sendo um objeto Numérico é a escrita deve ser a seguinte: “Numerico”.

library("reprodutibilidade")

# Carregando a base de dados de exemplo
data("datasetN7", package = "reprodutibilidade")

idx_MMPD = datasetN7$MMPD
nome = "MMPD"

res1 = criar_resumo(idx_MMPD,"Numerico" , "MMPD")
##     Nome  Classe    
##   1 MMPD  Numerico
print_summary(res1)
## 
##   Resumo Estatistico da Variavel
##                                         
##  Variavel: MMPD 
##  Classe: Numerico 
##                                         
## Min                  : 2.33
## Quartil 1            : 2.89
## Mediana              : 3.09
## Quartil 3            : 3.36
## Max                  : 4.06
## Outliers_Per         : 3.99
## NAs                  : 5
## Percentual_NAs       : 0.09
## Valores_Unicos       : 278
## Percentual_Unicos    : 5
## 
criar_grafico(idx_MMPD, plot=TRUE, nome_arquivo = "grafico_combinado.png", 
              largura = 10, altura = 5, dpi = 25, 
              icode="MMPD",fsize=6)

ADPresumo (dataset, class_types, clusters, nomes)

A função ADPresumo(dataset, class_types, clusters, nomes) executa a geração padronizada de resumos descritivos para cada variável de um conjunto de dados.

O procedimento interno da função envolve:

  • Verificação da consistência entre o número de colunas do dataset e os vetores informados;

  • Resumir as medidas descritivas de cada variavel;

  • Combinação dos resultados em um único quadro (resumo_combinado);

Gerando três objetos de saída:

  • resumo_total: resumo completo de todas as variáveis;

  • resumo_basico: tabela transposta com estatísticas principais;

  • resumo_na: resumo focado em valores ausentes.

library("reprodutibilidade")
# Carregando a base de dados de exemplo

# Metadados
data("metadadosN7", package = "reprodutibilidade")

# Dataset 
data("datasetN7", package = "reprodutibilidade")

# Dataset referencia
data("data_ref", package = "reprodutibilidade")

resumo <- ADPresumo(datasetN7, 
                    metadadosN7$CLASSE,  
                    colnames(datasetN7))
## 
##  Resumo Geral Obtido
print(resumo$resumo_total)                    
## # A tibble: 22 × 12
##    Nome    Classe   Min `Quartil 1` Mediana `Quartil 3`   Max Outliers_Per   NAs
##    <chr>   <chr>  <dbl>       <dbl>   <dbl>       <dbl> <dbl>        <dbl> <int>
##  1 MMPD    Numer…  2.33        2.89    3.09        3.36  4.06         3.99     5
##  2 MCFSFC… Numer…  0           0.06    0.1         0.13  0.23         1.51     5
##  3 PED(CI) Numer… 29.2        44.9    49.6        56.9  74.8          1.92     5
##  4 DRDAFD  Numer…  0           0.11    0.22        0.37  0.76         1.71     0
##  5 QA      Numer…  5           5       5           5     5           12.3   2605
##  6 DCAU10… Numer…  0           0.69    4.1        11.2  27.0          3.16     2
##  7 SRAAB   Numer…  0.02        0.29    0.4         0.47  0.74         8.1      0
##  8 NIAN    Numer…  0.2         0.2     0.6         0.6   1            0        5
##  9 PCM2AD  Numer…  0           0       0.28        0.81  2.02         5.6      0
## 10 ODRSAI  Numer…  0           0.27    1.3         3.6   8.59         5.89     0
## # ℹ 12 more rows
## # ℹ 3 more variables: Percentual_NAs <dbl>, Valores_Unicos <int>,
## #   Percentual_Unicos <dbl>

Winsorization

Essas funções tem como objetivo reduzir o impacto dos valores extremos (outliers) do conjunto de dados, reprojetando os mesmos para valores próximos a limiares baseados nos percentis inferiores e superiores de cada variável.

winsorize_info(indice, classe_label = NULL, var_name=NULL)

library("reprodutibilidade")

# Carregando a base de dados de exemplo
data("metadadosN7", package = "reprodutibilidade")

data("datasetN7", package = "reprodutibilidade")

idx_MMPD = datasetN7$MMPD
nome = "MMPD"

res1 = winsorize_info(idx_MMPD,"Numerico" , "MMPD")

print_summary(res1)
## 
##   Resumo Estatistico da Variavel
##                                         
##                                         
## nome                 : MMPD
## classe               : Numerico
## winsorize            : S
## linf                 : 2.33
## lsup                 : 4.06
## n_outlier            : 222
## n_na                 : 5
## 

winsorize_data( dataset, metadados)

winsorize_data(dataset = datasetN7, 
               metadados = metadadosN7)
## 
##  Resumo Winsorize Criado
##              nome   classe winsorize  linf   lsup n_outlier n_na
## 1            MMPD Numerico         S  2.33   4.06       222    5
## 2        MCFSFCBR Numerico         S     0   0.24        84    5
## 3         PED(CI) Numerico         S 29.17  74.85       107    5
## 4          DRDAFD Numerico         S     0   0.76       103    0
## 5              QA Numerico         N     5      5       686 2605
## 6      DCAU10MILH Numerico         S     0  26.98       176    2
## 7           SRAAB Numerico         A  0.02   0.74       451    0
## 8            NIAN Numerico         I   0.2      1         0    5
## 9          PCM2AD Numerico         S     0   2.03       312    0
## 10         ODRSAI Numerico         S     0    8.6       328    0
## 11            NSP Numerico         A  0.23   0.71        39    0
## 12      IFPCPESIA Numerico         S     0   0.99       163    0
## 13          IPGSA Numerico         S  0.08   0.73       149    5
## 14          APNAE Numerico         S     0 130.77        78    7
## 15 NAPURPAATSASMC Numerico         S     0   0.18       146 4433
## 16        FPAAPCT Numerico         N     0    100         0 2728
## 17       NAPCP1MC Numerico         S     1 2110.5        78 4216
## 18           APBF Numerico         A  0.11   1.68        36    5
## 19           IDRD Numerico         S     0   0.29        71   10
## 20       DRPCS5SM Numerico         S     0  40.26        78   10
## 21             DP Numerico         S  0.13 111.84       647    5
## 22             PT Numerico         S  0.01   0.39       425    0
data_winsor <- winsorize_apply(dataset=datasetN7,
                              metadados=metadadosN7)
## 
##  Resumo Winsorize Criado
## 
##  Winzorize aplicado no dataframe 
## 
## 
plot(idx_MMPD,data_winsor$dataset$MMPD,
      main = paste0("Comparação dados sem Winzorise X Dados com Winzorise  \n Indicador: ",nome),
      cex.axis=1,las=1,ylab="Dados Transformados",
      xlab="Reference", cex.lab=0.8,cex.main=1) 

BoxCox

Essa função aplica da trnasformada BoxCox buscando corrigir assietria e estabilizar a variância, aproximando de uma distribuição normal.

boxcox_transform(value, metodo=c(“forecast”, “COINr”, “yeojohnson”))

library("reprodutibilidade")

# Carregando a base de dados de exemplo
data("metadadosN7", package = "reprodutibilidade")
data("datasetN7", package = "reprodutibilidade")

dados <- datasetN7[,19]

# Aplicando Box-Cox com pacote forecast
bxcx.fcs <- boxcox_transform(dados, metodo = "forecast")
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Box-Cox aplicado com metodo: forecast
# Aplicando Box-Cox com o COINr
bxcx.coin <- boxcox_transform(dados,metodo = "COINr")
## Box-Cox aplicado com metodo: COINr
# Aplicando Yeo-Johnson
bxcx.yjn <- boxcox_transform(dados, metodo = "yeojohnson")
## Box-Cox aplicado com metodo: yeojohnson
par(mfrow=c(1,3)) ; par(mar=c(5,4,6,1))
 
 plot(sort(dados),sort(bxcx.fcs),
      main = "Transformacao BoxCox \n via pacote Forecast",
      cex.axis=1,las=1,ylab="Transformada BoxCox",
      xlab="Reference", cex.lab=0.8,cex.main=1) 
 
 plot(sort(dados),sort(bxcx.coin),
      main = "Transformacao BoxCox \n via pacote COINr",
      cex.axis=1,las=1,ylab="Transformada BoxCox",
      xlab="Reference",cex.lab=0.8,cex.main=1) 
 
 plot(sort(dados),sort(bxcx.yjn),
      main = "Transformacao BoxCox \n via pacote bestNormalize::Yeojohnson",
      cex.axis=1,las=1,ylab="Transformada BoxCox",
      xlab="Reference",cex.lab=0.8,cex.main=1)

ADPBoxCox(dadoswin=NULL, dados_originais=NULL, classe=NULL, nome=NULL, metodo=NULL)

method_boxcox = "forecast"

data_bxcx <- ADPBoxCox(dadoswin=data_winsor$dataset,
                      dados=datasetN7,
                      classe=metadadosN7$CLASSE,
                      nome=colnames(datasetN7),
                      metodo=method_boxcox)
## Box-Cox aplicado com metodo: forecast
## 
##  BoxCox aplicado no dataframe 
## 
## 

Normalização

ADPNormalise(iData)

data_normal <- ADPNormalise(data_bxcx$data)
## 
##  Normalizacao Aplicada no data.frame

Tratamento

Tratamento(input=“INPUT.xlsx”, metadados = “Plan_Metadados”, dataset = “Plan_Dados”, method_boxcox = NULL, sigla=NULL, subsetor=NULL)

Excutando a função que aplica as métricas, Cria uma lista chamado result, onde estão os resultados das metricas aplicadas.
Salvando em dois (2) arquivos .xlsx no diretório OUTPUT

  • O primeiro ANALISE_DESCRITIVA_SETOR_DATA_HORA.xlsx

  • O segundo DADOS_TRATADOS_SETOR_DATA_HORA.xlsx

caminho_arquivo <- system.file("dataset", 
                               "Base_inicial_SA_Acesso.xlsx",
                                package = "reprodutibilidade")

result = Tratamento(input=caminho_arquivo,
                    metadados = "metadados",
                    dataset = "dados_SA_Acesso",
                    nivel=7,
                    method_boxcox="forecast",
                    sigla = "SE",
                    subsetor= NULL)
## 
##  Resumo Geral Obtido
## 
##  Resumo Winsorize Criado
## 
##  Winzorize aplicado no dataframe 
## 
## 
## Box-Cox aplicado com metodo: forecast
## 
##  BoxCox aplicado no dataframe 
## 
## 
## 
##  Normalizacao Aplicada no data.frame
## 
##  Arquivos .xlsx Gerados 
##   ANALISE_DESCRITIVA_SE_2025-12-12_11h55m.xlsx 
##   DADOS_TRATADOS_SE_2025-12-12_11h55m.xlsx

Visualização dos Resultados

Mapas

Observações importantes das funções de criação dos mapas:

  • Caso o nome do arquivo não seja definido, a função fará com que o nome do mesmo seja a combinação do iNome e do DADOS, ex:
    • iNome = “MMPD” e
    • DADOS = datasetN7
    • nome_arquivo = MMPD_datasetN7.png ;
  • Caso o diretório de salvamento do arquivo não seja definido, o arquivo será salvo no local de execução;

Sugestão antes de executar, criar o diretório FIG, na função inserir dir = “FIG”, dessa maneira a função irá salvar a imagem diretamente nesse diretório.

  • Caso as definições das dimenções da imagem não seja determinada a imgem final será gerada com as seguintes definições padrão em px:
    • largura = 20
    • altura = 24
    • dpi = 300

Mapas Não Normalizados

map_result(iNome, DADOS, REFERENCE, titulo = “Titulo”, shp_mun = NULL, shp_uf = NULL, salvar = FALSE, dir = NULL, nome_arquivo = NULL, largura = 20, altura = 24, dpi = 300, fsize = 16)

library("reprodutibilidade")

map_result("MMPD", datasetN7, data_ref, fs = 10, titulo = "MMPD")

Mapas Normalizados

map_result_normal( iNome, DADOS, REFERENCE, titulo = “Titulo”, shp_mun = NULL, shp_uf = NULL, salvar = FALSE, dir = NULL, nome_arquivo = NULL, largura = 20, altura = 24, dpi = 300, fsize = 16)

map_result_normal("MMPD", result$Data_Normal$dataset, data_ref, 
                  fs = 10, 
                  titulo = "MMPD")

Arquivo PowerPoint com apresentação do Resumo

slides_descricao( result, icode, titulo = NULL, caminho_arquivo = “saida_apresentacao.pptx”, caminho_imagem = NULL, caminho_map = NULL)

# definindo o caminho da base de dados no formato .xlsx
  caminho_arquivo <- system.file("dataset", 
                               "Base_inicial_SA_Acesso.xlsx",
                                package = "reprodutibilidade")

# gerando os resultados e salvando em .xlsx
  result = Tratamento(input=caminho_arquivo,
                      metadados = "metadados",
                      dataset = "dados_SA_Acesso",
                      nivel=7,
                      method_boxcox="forecast",
                      sigla = "SE",
                      subsetor= NULL)

# Determinado o indicador que será apresentado  
  icode <- "MMPD"

# Criando os gráficos de resumo 
  criar_grafico(result$DadosB[[icode]], 
                plot=FALSE,
                nome_arquivo = "grafico_combinado.png", 
                largura = 10, altura = 5, dpi = 100, 
                icode="MMPD", fsize=18)

# Gerando a figura do mapa 
 
  map_result(icode, 
             result$DadosB,
             result$Ref,
             fs = 30,
             Titulo = icode,
             salvar=TRUE)

  slides_descricao(result, icode, 
                   titulo=NULL,
                   caminho_arquivo = "saida_apresentacao.pptx",
                   caminho_imagem  = "grafico_combinado.png",
                   caminho_map     = "map_N7.png")
Figura 3: Exemplo do slide resumo gerado inserido na apresentação diretamente.

Arquivo PowerPoint com apresentação do processo Winsorization

slides_process( tabela1, process = NULL,titulo = “Titulo do Slide”, caminho_arquivo = “saida_apresentacao.pptx”, caminho_map = NULL)

  map_result(icode, 
             result$Data_Win$dataset[1,],
             result$Ref,
             fs = 30,
             Titulo = icode,
             salvar=TRUE)

  slides_process(
    result$Data_Win$resumo[1,],
    process         = "winsorize" 
    titulo          = "Tabela Gerada no R",
    caminho_arquivo = "slide_process_winsorize.pptx",
    caminho_map     = "arquivo_mapa.png")
Figura 4: Exemplo do slide winsorizatin gerado inserido na apresentação diretamente.

Arquivo PowerPoint com apresentação do processo BoxCox

slides_process( tabela1, process = NULL,titulo = “Titulo do Slide”, caminho_arquivo = “saida_apresentacao.pptx”, caminho_map = NULL)

  map_result("FPAAPCT", result$Data_Bxc$data, result$Ref, 
              fs     = 26, 
              titulo = "FPAAPCT", 
              salvar = TRUE)

 slides_process(result$Data_Bxc$meta[16,],
                process         = "BoxCox" 
                titulo          = "Titulo do slide",
                caminho_arquivo = "saida_apresentacao_bxcx.pptx",
                caminho_map     = "FPAAPCT_result$Data_Bxc$data.png")
Figura 5: Exemplo do slide gerado com a base de dados do boxcox inserido na apresentação diretamente.

Arquivo PowerPoint com apresentação do processo de Normalizacao

slides_process( tabela1, process = NULL,titulo = “Titulo do Slide”, caminho_arquivo = “saida_apresentacao.pptx”, caminho_map = NULL)

  grafico_final(result$Data_Bxc$data, result$Data_Normal$dataset, 
            nome_arquivo = "grafico_final.png", 
            largura = 20, 
            altura = 10, 
            dpi = 100,
            icode = "MMPD",
            fsize = 32)


  map_result_normal("MMPD", result$Data_Normal$dataset, result$Ref, 
                  fs = 10, 
                  titulo = "MMPD",
                  salvar = TRUE,
                  nome_arquivo = "mapa_normalizado.png")

  slides_normal(datain = result$Data_Bxc$data[[icode]],
    titulo          = "Titulo Slide",
    title_tab       = "Testes Estatísticos",
    caminho_arquivo = paste0("saida_apresentacao_normal.pptx"),
    caminho_map     = "mapa_normalizado.png" ,
    caminho_grafico = "grafico_final.png" )
Figura 6: Exemplo do slide gerado com a base de dados normalizados inserido na apresentação diretamente.

Aplicando as Funções Análise

Correlação

total_na(indice)

total.na(datasetN7$MMPD)
## [1] 5

get_max_cor (var_name,cor_matrix=NULL)

mat <- cor(mtcars)

get_max_cor("mpg", mat)
##            max_pcor             var_max 
## "0.681171907806749"              "drat"

ADPcorrel(x)

res <- ADPcorrel(result$Data_Normal$dataset)

head(res$cor_summary)
##            Cor_Max             Cor_Par   
## MMPD       "0.650869856375549" "PED(CI)" 
## MCFSFCBR   "0.665934427027578" "PED(CI)" 
## PED(CI)    "0.799845828299096" "DRPCS5SM"
## DRDAFD     "0.381128913409374" "DP"      
## QA         "0.24205585883426"  "DP"      
## DCAU10MILH "0.534066700481322" "DRPCS5SM"

correl_ind(x)

result_cor <- correl_ind(result$Data_Normal$dataset)
## 
##    Metricas de Avaliacao Calculadas.
head(result_cor$Resumo)
##    Indicador Cor_Max Cor_Par_Indicador      Sugestao_Remocao
## 1       MMPD   0.652           PED(CI) Remover (Correl alta)
## 2   MCFSFCBR   0.667           PED(CI) Remover (Correl alta)
## 3    PED(CI)   0.800          DRPCS5SM Remover (Correl alta)
## 4     DRDAFD   0.378                DP                Manter
## 5 DCAU10MILH   0.534          DRPCS5SM                Manter
## 6      SRAAB   0.335                DP                Manter
FigContNA(result_cor$Contagem_NA,
          nfile="Contagem_NA_ISimples.png",
          visivel=TRUE)

## 
##        Figura de Contagem de NA's Gerada

FigCorrelPlot(result_cor$Correl,tipo=“Total”,nfile=“FIGs/Correlação_Total.png”)

 FigCorrelPlot(result_cor$Correl,
               tipo    = "Total",
               save    = FALSE,
               visivel = TRUE,
               nfile   = "Correlação_Total.png")

## 
##        Figura de Correlacao (Total) Gerada.

Loop dos Indicadores: Montando o PowerPoint Completo

Resumo

CODES = result$metadados$CODE

for(i in CODES) 
{
 icode <- i 
 nome <- result$metadados$NOME[result$metadados$CODE == icode]

# Criando os gráficos de resumo 
  criar_grafico(result$DadosB[[icode]],
                plot=FALSE,
                nome_arquivo = paste0("FIG/grafico_combinado_",icode,".png"), 
                largura = 10, altura = 5, dpi = 100, 
                fsize=18)
  
# Gerando a figura do mapa 
  map_result(icode, 
             result$DadosB,
             result$Ref,
             fs = 30,
             nome_arquivo = paste0("FIG/mapa_bruto_",icode,".png"),
             salvar=TRUE)

# Gerando o arquivo
  slides_descricao(result, icode, 
                   titulo=paste0(icode,"-",nome),
                   caminho_arquivo = "Apresentacao_Resumo_Total.pptx",
                   caminho_imagem  = paste0("FIG/grafico_combinado_",icode,".png"),
                   caminho_map     = paste0("FIG/mapa_bruto_",icode,".png"))
print(icode)
}
Figura 7: Exemplo do slide resumo gerado inserido na apresentação diretamente.

Winsorize

CODES = result$metadados$CODE

for(i in CODES) 
{
 icode <- i 
 nn <- which(result$Data_Bxc$meta$Nome == icode)
 nome <- result$metadados$NOME[result$metadados$CODE == icode] 

# Gerando a figura do mapa
  map_result(icode, result$Data_Win$data, result$Ref, 
              fs = 26, titulo = icode, 
              nome_arquivo = paste0("FIG/mapa_win_",icode,".png"),
              salvar=TRUE)

# Gerando arquivo
  slides_process( result$Data_Win$resumo[nn,],
          process = "winsorize",
          titulo = paste0(icode,"-",nome),
          caminho_arquivo = paste0("Apresentacao_Winzorization_Total.pptx"),
          caminho_map = paste0("FIG/mapa_win_",icode,".png"))

print(icode)
}
Figura 8: Exemplo do slide Wisorize gerado inserido na apresentação diretamente.

BoxCox

CODES = result$metadados$CODE

for(i in CODES) 
{
 icode <- i 
 nn <- which(result$Data_Bxc$meta$Nome == icode)
 nome <- result$metadados$NOME[result$metadados$CODE == icode] 

  map_result(icode, result$Data_Bxc$data, result$Ref, 
              fs = 26, titulo = icode, 
              nome_arquivo = paste0("FIG/mapa_bxcx_",icode,".png"),
              salvar=TRUE)


 slides_process( result$Data_Bxc$meta[nn,],
                process = "BoxCox",
                titulo = paste0(icode,"-",nome),
                caminho_arquivo = "Apresentacao_Boxcox_Total.pptx",
                caminho_map = paste0("FIG/mapa_bxcx_",icode,".png"))

print(icode)
}
Figura 8: Exemplo do slide BoxCox gerado inserido na apresentação diretamente.

Normalizado

O indicador PED(CI) (terceira coluna da base de dados) apresentou erro na geração do grafico final, unicamente nessa etapa, por esse motivo foi removida da execução nesta etapa.

CODES = result$metadados$CODE[-3]

for(i in CODES) 
{
 icode <- i 
 nn <- which(result$Data_Bxc$meta$Nome == icode)
 nome <- result$metadados$NOME[result$metadados$CODE == icode] 

map_result_normal(icode, result$Data_Normal$dataset, result$Ref, 
                  fs = 10, 
                  titulo = icode,
                  salvar=TRUE,
                  nome_arquivo=paste0("FIG/mapa_norm_",icode,".png"))


grafico_final(dtset_proc = result$DadosB,
              dtset_norm = result$Data_Normal$dataset, 
              nome_arquivo = paste0("FIG/grafico_final_",icode,".png"), 
              largura = 20, 
              altura = 10, 
              dpi = 100,
              icode=icode,
              fsize=32)

slides_normal(datain=result$DadosB[[icode]],
  titulo          = paste0(icode,"-",nome),
  title_tab       = "Testes Estatísticos",
  caminho_arquivo = "Apresentacao_Norm_Total.pptx",
  caminho_map     = paste0("FIG/mapa_norm_",icode,".png") ,
caminho_grafico = paste0("FIG/grafico_final_",icode,".png"))                

print(icode)
}
Figura 8: Exemplo do slide normal gerado inserido na apresentação diretamente.

Rotinas Extras Não Implementadas

Localização

caminho_arquivo <- system.file("rotinas_extras", 
                               "rotinas_extras.r",
                                package = "reprodutibilidade")
source(caminho_arquivo)

VIF

O Fator de Inflação da Variância (VIF) foi utilizado para avaliar a presença de multicolinearidade entre as variáveis que compõem o indicador, permitindo identificar redundâncias excessivas que podem distorcer as estimativas e comprometer a interpretação dos resultados. Valores elevados de VIF indicam sobreposição de informação entre variáveis e sinalizam a necessidade de revisão da estrutura do indicador. #### ADPvif(X)

vif_df <- ADPvif(result$Data_Normal$dataset)

FigVIF(vif_df,nfile=NULL,visivel=TRUE)

Alpha Cronbach

O alfa de Cronbach é utilizado para avaliar a consistência interna do conjunto de variáveis, isto é, o grau em que elas medem de forma coerente um mesmo construto. A análise do alfa com a remoção individual dos indicadores permite verificar em que medida o valor permanece próximo ao valor global, o que reforça a estabilidade do indicador composto. Observa-se que a exclusão de alguns indicadores provoca variações no alfa, indicando contribuições diferenciadas para a consistência interna do conjunto.

ADPAlphaCron(X)

alpha_df<- ADPAlphaCron(result$Data_Normal$dataset)

plotAlphaCronbach(alpha_df$alpha_df, 
                  alpha_df$alpha_total,
                  visivel = TRUE,
                  nfile=NULL)

Metricas em Conjunto

result_metricas <- resumo_metricas(result$Data_Normal$dataset)

# FigCorrelPlot(result_metricas$pcorrel,tipo="Parcial",nfile="nome_arquivo.png")

# FigCorrelPlot(result_metricas$pcorrel,tipo="Total",nfile="nome_arquivo.png")

# FigVIF(result_metricas$VIF,nfile="nome_arquivo.png",visivel=FALSE)

# plotAlphaCronbach(result_metricas$AlphaCronbach$alpha_df, 
                  result_metricas$AlphaCronbach$alpha_total,
                  visivel=FALSE,
                  nfile="nome_arquivo.png")

result_metricas$Res_visivel